User-mounted device calibration using external data

ABSTRACT

Systems, methods, and computer media for calibrating user-mounted devices are provided. An external device capable of providing calibration data to a user-mounted device worn by a user is identified. An identification acknowledgement is received from the external device. A device calibration mode is entered in which calibration data describing the user-mounted device is received by the user-mounted device. The calibration data is based at least in part on sensor data acquired and normalized by the external device. The calibration data is then received. The calibration data includes at least one determined pose or body measurement of the user and a calculated alignment of the user-mounted device relative to the user. The user-mounted device is calibrated using the received calibration data.

RELATED APPLICATION

This patent application is a continuation of Attorney Docket No.332719.01/MFCP.161734; U.S. application Ser. No. 13/159,888, filed 14Jun. 2011, which is incorporated herein by reference in the entirety.

BACKGROUND

Wearable computing devices, also known as user-mounted devices, havebegun to increase in popularity in recent years. User-mounted devicestypically include outward-facing sensors that gather data about theuser's environment. User-mounted devices, and particularly head-mounteddevices (HMDs) are commonly integrated into gaming systems. User-mounteddevices can also be used for a variety of other computing tasks.

The sensors in typical user-mounted devices face outward and are notable to gather sufficient data about the user and the position of theuser-mounted device relative to the user for proper device calibration.Additionally, unlike fixed devices, because user-mounted devices areworn by a user, the devices are frequently in motion and changeorientation as the user moves. Movement may also cause user-mounteddevices to change position relative to the user, potentially requiringfrequent recalibration of the devices.

SUMMARY

Embodiments of the present invention relate to systems, methods, andcomputer media for calibrating a user-mounted device. Using the systemsand methods described herein, an external device capable of providingcalibration data to a first user-mounted device is identified. The firstuser-mounted device is worn by a first user. An identificationacknowledgement is received from the external device. A devicecalibration mode is entered in which calibration data describing thefirst user-mounted device is received by the first user-mounted device,wherein the calibration data is based at least in part on sensor dataacquired and normalized by the external device. The calibration data isthen received. The calibration data includes at least one determinedpose or body measurement of the first user and a calculated alignment ofthe first user-mounted device relative to the first user. The firstuser-mounted device is calibrated using the received calibration data.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is described in detail below with reference to theattached drawing figures, wherein:

FIG. 1 is a block diagram of an exemplary computing environment suitablefor use in implementing embodiments of the present invention;

FIG. 2 is a perspective view of an exemplary user-mounted device worn bya user in accordance with embodiments of the present invention;

FIG. 3 is a perspective view of an exemplary user-mounted device worn bya user interacting with an external device in accordance withembodiments of the present invention;

FIG. 4 is a block diagram of an exemplary user-mounted devicecalibration system in accordance with embodiments of the presentinvention;

FIG. 5 is a flow chart of an exemplary method for calibrating auser-mounted device worn by a user in accordance with an embodiment ofthe present invention;

FIG. 6 is a perspective view of an exemplary user-mounted device worn bya user interacting with a passive object in accordance with embodimentsof the present invention;

FIG. 7 is a perspective view of an exemplary first user-mounted deviceworn by a first user interacting with a second user-mounted device wornby a second user in accordance with embodiments of the presentinvention; and

FIG. 8 is a flow chart of an exemplary method for joint calibration oftwo user-mounted devices in accordance with an embodiment of the presentinvention.

DETAILED DESCRIPTION

Embodiments of the present invention are described with specificityherein to meet statutory requirements. However, the description itselfis not intended to limit the scope of this patent. Rather, the inventorshave contemplated that the claimed subject matter might also be embodiedin other ways, to include different steps or combinations of stepssimilar to the ones described in this document, in conjunction withother present or future technologies. Moreover, although the terms“step” and/or “block” or “module” etc. might be used herein to connotedifferent components of methods or systems employed, the terms shouldnot be interpreted as implying any particular order among or betweenvarious steps herein disclosed unless and except when the order ofindividual steps is explicitly described.

Embodiments of the present invention relate to systems, methods, andcomputer media for calibrating a user-mounted device. In accordance withembodiments of the present invention, a user-mounted device worn by auser is calibrated based on sensor data acquired by an external device.Two users, each wearing a user-mounted device, can jointly calibrate,with each user's device acquiring sensor data describing the other user.

As discussed above, user-mounted devices typically includeoutward-facing sensors. While outward-facing sensors are desirable forgathering information about the user's environment, the sensors are notable to gather much if any information about the user-mounted deviceitself or the user wearing the device. Proper user-mounted devicecalibration is difficult or impossible to achieve without sufficientdata describing the user and the user-mounted device.

External data can be relied on to provide the information used forcalibration. Various external devices have sensors capable of gatheringdata describing the user and the user-mounted device. A user-mounteddevice recognizes or is recognized by an external device and enters adevice calibration mode. Device recognition and entrance of devicecalibration mode may occur via explicit user action or may occurautomatically without user input and/or knowledge. The external deviceacquires sensor data describing the user-mounted device. The acquiredsensor data is normalized to account for the external device's location,orientation, motion, or other factors. Calibration data based on theacquired and normalized sensor data is provided to the user-mounteddevice. The user-mounted device is then calibrated based on thecalibration data.

The external device acquiring and normalizing sensor data may be anotheruser-mounted device worn by another user. In such situations, eachuser-mounted device may act as the external device and providecalibration data to the other. Thus, if two users are each wearing auser-mounted device, the two users can enter a joint calibration modeand each provide calibration data to the other, allowing both devices tocalibrate.

Calibration data for a user-mounted device may also include datagathered by the user-mounted device itself. For example, a user-mounteddevice may include eye-tracking sensors, and the calibration data mayinclude eye-tracking data gathered by the user-mounted device.

In one embodiment of the present invention, an external device capableof providing calibration data to the first user-mounted device isidentified. An identification acknowledgement is received from theexternal device. A device calibration mode is entered in whichcalibration data describing the first user-mounted device is received bythe first user-mounted device. The calibration data is based at least inpart on sensor data acquired and normalized by the external device. Thecalibration data is received. The calibration data includes at least onedetermined pose or body measurement of the first user and a calculatedalignment of the first user-mounted device relative to the first user.The first user-mounted device is calibrated using the receivedcalibration data.

In another embodiment, a session component communicates with an externaldevice to enter a device calibration mode in which calibration datadescribing the first user-mounted device is received by the firstuser-mounted device. The calibration data is based at least in part onsensor data acquired by the external device. An intake componentreceives the calibration data. The calibration data includes at leastone determined pose or body measurement of the first user and acalculated alignment of the first user-mounted device relative to thefirst user. A calibration component calibrates the first user-mounteddevice using the received calibration data.

In still another embodiment, a second user-mounted device worn by asecond user is identified. The second user-mounted device is capable ofproviding calibration data to the first user-mounted device. Anidentification acknowledgement is received from the second user-mounteddevice. A joint device calibration mode is entered in which firstcalibration data describing the first user-mounted device is received bythe first user-mounted device and second calibration data describing thesecond user-mounted device is transmitted by the first user-mounteddevice. The first calibration data is based at least in part on firstsensor data acquired and normalized by the second user-mounted device,and the second calibration data is based at least in part on secondsensor data acquired and normalized by the first user-mounted device.The first calibration data is received. The first calibration dataincludes at least one determined pose or body measurement of the firstuser and a calculated alignment of the first user-mounted devicerelative to the first user. The first sensor data includes data from atleast one of: an inertial measurement unit (IMU); a red, green, blue(RGB) camera; a depth sensor; assisted GPS; or a microphone. The firstuser-mounted device is calibrated using the first calibration data

The second sensor data is acquired. The second sensor data includes datafrom at least one of: an IMU; an RGB camera; a depth sensor; assistedGPS; or a microphone. The second sensor data is normalized. Based atleast in part on the normalized second sensor data, (1) pose and bodymeasurements of the second user are determined and (2) an alignment ofthe second user-mounted device relative to the second user iscalculated. The second calibration data is transmitted. The secondcalibration data includes the at least one determined pose and bodymeasurement of the second user and the calculated alignment of thesecond user-mounted device.

Having briefly described an overview of some embodiments of the presentinvention, an exemplary operating environment in which embodiments ofthe present invention may be implemented is described below in order toprovide a general context for various aspects of the present invention.Referring initially to FIG. 1 in particular, an exemplary operatingenvironment for implementing embodiments of the present invention isshown and designated generally as computing device 100. Computing device100 is but one example of a suitable computing environment and is notintended to suggest any limitation as to the scope of use orfunctionality of embodiments of the present invention. Neither shouldthe computing device 100 be interpreted as having any dependency orrequirement relating to any one or combination of componentsillustrated.

Embodiments of the present invention may be described in the generalcontext of computer code or machine-useable instructions, includingcomputer-executable instructions such as program modules, being executedby a computer or other machine, such as a personal data assistant orother handheld device. Generally, program modules including routines,programs, objects, components, data structures, etc., refer to code thatperform particular tasks or implement particular abstract data types.Embodiments of the present invention may be practiced in a variety ofsystem configurations, including hand-held devices, consumerelectronics, general-purpose computers, more specialty computingdevices, etc. Embodiments of the present invention may also be practicedin distributed computing environments where tasks are performed byremote-processing devices that are linked through a communicationsnetwork.

With reference to FIG. 1, computing device 100 includes a bus 110 thatdirectly or indirectly couples the following devices: memory 112, one ormore processors 114, one or more presentation components 116,input/output ports 118, input/output components 120, and an illustrativepower supply 122. Bus 110 represents what may be one or more busses(such as an address bus, data bus, or combination thereof). Although thevarious blocks of FIG. 1 are shown with lines for the sake of clarity,in reality, delineating various components is not so clear, andmetaphorically, the lines would more accurately be grey and fuzzy. Forexample, one may consider a presentation component such as a displaydevice to be an I/O component. Also, processors have memory. It isrecognized that such is the nature of the art, and reiterate that thediagram of FIG. 1 is merely illustrative of an exemplary computingdevice that can be used in connection with one or more embodiments ofthe present invention. Distinction is not made between such categoriesas “workstation,” “server,” “laptop,” “hand-held device,” etc., as allare contemplated within the scope of FIG. 1 and reference to “computingdevice.”

Computing device 100 typically includes a variety of computer-readablemedia. Computer-readable media can be any available media that can beaccessed by computing device 100 and includes both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer-readable media may comprise computerstorage media and communication media. Computer storage media includesboth volatile and nonvolatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer-readable instructions, data structures, program modules, orother data. Computer storage media includes, but is not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical disk storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by computing device 100.

Communication media typically embodies computer-readable instructions,data structures, program modules, or other data in a modulated datasignal such as a carrier wave. The term “modulated data signal” refersto a propagated signal that has one or more of its characteristics setor changed to encode information in the signal. By way of example, andnot limitation, communication media includes wired media, such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared, radio, microwave, spread-spectrum, and otherwireless media. Combinations of the above are included within the scopeof computer-readable media.

Memory 112 includes computer storage media in the form of volatileand/or nonvolatile memory. The memory may be removable, nonremovable, ora combination thereof. Exemplary hardware devices include solid-statememory, hard drives, optical-disc drives, etc. Computing device 100includes one or more processors that read data from various entitiessuch as memory 112 or I/O components 120. Presentation component(s) 116present data indications to a user or other device. Exemplarypresentation components include a display device, speaker, printingcomponent, vibrating component, etc.

I/O ports 118 allow computing device 100 to be logically coupled toother devices including I/O components 120, some of which may be builtin. Illustrative components include a microphone, joystick, game pad,satellite dish, scanner, printer, wireless device, etc.

As discussed previously, embodiments of the present invention relate tosystems, methods, and computer media for calibrating a user-mounteddevice. Embodiments of the present invention will be discussed withreference to FIGS. 2-8.

FIG. 2 illustrates an exemplary user-mounted device 200 worn by a user202. User-mounted device 200 is a head-mounted device (HMD), also knownas a head-mounted display. User-mounted device 200 is a “sensor-rich”device that includes various sensors for gathering information about theenvironment around the user. User-mounted device 200 is a “see-through”device in which user 202 views the surrounding environment using his ownvisual sense by looking through displays 204 and 206 but is alsoprovided various additional information on displays 204 and 206.

User-mounted device 200 includes sensors 208, 210, 212, 214, and 216.Sensors 208, 210, 212, 214, and 216 are outward-facing sensors thatgather information describing the user's environment and surroundings.These sensors are shown incorporated into frame 218 of user-mounteddevice 200 at various points, but it is contemplated that sensors can beincorporated into user-mounted device 200 at any location. Sensors 208,210, 212, 214, and 216 may be any combination of sensors, including:depth sensors, cameras, inertial measurement units (IMUs), assisted GPSsensors, microphones, or other sensors. Depth sensors may be infrared(IR) sensors that measure time of flight between a transmitted signaland a received reflection or retransmission. Cameras may be IR orvisible spectrum, black and white or red-green-blue (RGB) cameras. Insome embodiments, the parallax between images from two different camerascan be used to measure depth much as a person's two eyes provide depthperception. Microphones may be directional. In some embodiments, userconsent may first be required prior to gathering and/or using data fromsensors such as GPS or assisted GPS that could present privacy concerns.

Other sensors are also contemplated. Some sensors, such as RGB camerasand depth sensors include an area for receiving input that is visible byan observer looking at user-mounted device 200. Other sensors, such asan IMU, can be embedded in frame 218 such that the sensor is not visibleby an observer. An IMU measures inertial acceleration and typicallyincorporates the functionality of accelerometers, gyroscopes,magnetometer, and other devices. In one embodiment, an IMU measurementof inertial acceleration has six degrees of freedom.

User-mounted device 200 may also include one or more eye-trackingsensors, not shown in FIG. 2. Eye-tracking sensors typically track themovement of the pupil or other portions of the eye or the area aroundthe eye to determine the direction of a user's gaze. This may beaccomplished, for example, using IR or RGB cameras aimed at the user'seyes.

Electronics and computer media for processing data acquired by sensors208, 210, 212, 214, and 216 may be embedded in frame 218 of user-mounteddevice 200. User-mounted device 200 can communicate wirelessly withexternal devices via, for example, Bluetooth® or other technology.(Bluetooth is a registered trademark of the Bluetooth Special InterestGroup.) In some embodiments, acquired data is transmitted wirelessly toa separate device for processing. User-mounted device 200 is shownresembling a pair of glasses for simplicity. The actual design of anyparticular user-mounted device and the number and arrangement of sensorsmay vary depending upon the sensors included and desired function.Additionally, although user-mounted device 200 is an HMD, otheruser-mounted devices are contemplated, worn on the user's head orelsewhere. In one embodiment, two RGB cameras, one on each side ofuser-mounted device 200 and an IR depth sensor are among the sensorsincluded in user-mounted device 200.

FIG. 3 illustrates user-mounted device 200 worn by user 202, shown inFIG. 2, interacting with an external device 302. External device 302includes various sensors that acquire data describing user-mounteddevice 200 and user 202. External device 304 can then providecalibration data derived from the acquired sensor data to user-mounteddevice 200 for calibration purposes. As discussed above, user-mounteddevice 200 includes outward-facing sensors. Because user-mounted device200 cannot “see” where it is in relation to user 202 and has no means todetermine the size and position of user 202, proper calibration ofuser-mounted device 200 is difficult to achieve without external input.External device 302 provides sufficient data for proper calibration.Without proper calibration, it is difficult or impossible foruser-mounted device 200 to present accurate information about the user'senvironment to user 202.

FIG. 4 is a block diagram of an exemplary user-mounted devicecalibration system 400 for calibrating a first user-mounted device 402worn by a first user. Session component 404 communicates with anexternal device 406 to enter a device calibration mode in whichcalibration data describing first user-mounted device 402 is received byfirst user-mounted device 402. The calibration data is based at least inpart on sensor data acquired by sensors 408 of external device 406.External device 406 can be a variety of devices, including but notlimited to: a device that remains in a fixed location, such as a motiondetection and camera system integrated with a gaming system or webcam;another user-mounted device such as an HMD; or a non-wearable computingdevice such as a smart phone or laptop that is configured to communicatewith first user-mounted device 402. In one embodiment, external device406 is a device that remains in a fixed location or another user-mounteddevice worn by a sales clerk in a retail store such that when a customerpurchases a user-mounted device, the customer can have his devicecalibrated using external device 406. The calibration data can alsoinclude eye-tracking data generated by first user-mounted device 402.That is, in some embodiments, a user-mounted device receives calibrationdata gathered by an external device as well as calibration data gatheredby the user-mounted device itself.

Intake component 410 receives the calibration data. The receivedcalibration data includes at least one determined pose or bodymeasurement of the first user and a calculated alignment of firstuser-mounted device 402 relative to the first user. Calibrationcomponent 412 calibrates first user-mounted device 402 using thereceived calibration data.

In some embodiments, system 400 includes passive data component 414.Passive data component 414 receives input from a passive object. Theinput may be, for example, a captured reflection of first user-mounteddevice 402 or the first user or a captured image or video showing firstuser-mounted device 402 or the first user. In some embodiments, passivedata component 414 transmits a sensor signal and receives feedback fromthe interaction of the sensor signal with a passive object. The feedbackis considered by calibration component 412 in calibrating firstuser-mounted device 402. Examples of passive objects include minors,windows, and other reflective objects as well as monitors and displays.“Passive object” as used herein means that the object is not activelyproviding sensor data for use in calibration to first user-mounteddevice 402. Rather, first user-mounted device 402 is using its internalsensors 418 to detect something in the environment that can be used incalibration. For example, first user-mounted device 402 may use an RGBcamera to capture a reflection of the first user and first user-mounteddevice 402 in a mirror. The minor itself is not actively providingcalibration data as external device 406 does. This provides first-usermounted device 402 data that device 402 could not acquire without theminor or other external source.

In another embodiment, a display such as a computer monitor or smartphone display is the passive object. For example, a webcam or phonecamera may capture an image or video of the first user wearing firstuser-mounted device 402, and first user-mounted device 402 can capturethe image or video using an RGB camera. If the monitor or display is notconfigured to communicate with first user-mounted device 402 forcalibration purposes, then the monitor or display is a passive object.In this way, a user without access to external device 406 can achievesome level of calibration using a smart phone, laptop, or other devicethat is not designed to communicate with first user-mounted device 402.Passive data can be used to supplement the calibration data received byintake component 410 to more precisely calibrate first user-mounteddevice 402. In some embodiments, passive data is used instead of thecalibration data received by intake component 410.

In some embodiments, system 400 includes joint calibration component416. Joint calibration component 416 allows first user-mounted device402 to provide second calibration data to external device 406. Thesecond calibration data is based on sensor data acquired by sensors 418in first user-mounted device 402. The sensor data describes externaldevice 406. For example, external device 406 may be a seconduser-mounted device. In such a case, first user-mounted device 402acquires data with sensors 418 and provides the second calibration datato external device 406. In this way, external device 406 and firstuser-mounted device 402 help calibrate each other.

In some embodiments, joint calibration component 416 provides the secondcalibration data by normalizing the acquired sensor data that describesthe second user-mounted device. Based at least in part on the normalizedsensor data describing the second user-mounted device, pose and bodymeasurements of the second user are determined. An alignment of thesecond user-mounted device relative to the second user is calculated.The second calibration data is then transmitted to the seconduser-mounted device, the second calibration data including at least onedetermined pose and body measurement of the second user and thecalculated alignment of the second user-mounted device.

In FIG. 4, system components 404, 410, 412, 414, and 416 are shown asbeing external to first user-mounted device 402. In some embodiments,the components in system 400 are implemented on computer media containedwithin first user-mounted device 402. In other embodiments, thecomponents in system 400 are implemented on a separate device ordevices, and first user-mounted device 402 is a “dumb” device thatsimply receives data, transmits data, and presents data to a user. Forexample, a pocket device or device clipped to a user's belt may containthe majority or the processing power and system components, and suchdevice may be in wireless communication with first user-mounted device402.

FIG. 5 is a flow chart illustrating an exemplary method 500 forcalibrating a first user-mounted device worn by a user. In step 502, anexternal device capable of providing calibration data to the firstuser-mounted device is identified. In step 504, an identificationacknowledgement is received from the external device. Step 504 may alsobe referred to as a “device handshake” or “device authentication.” The“identification acknowledgement” discussed herein refers to thecommunication between devices in order to enter device calibration mode,regardless of which device initiates the communication.

This device handshake step may be accomplished through a variety of waysknown to those having ordinary skill in the art. For example, theexternal device and the first user-mounted device may communicate viaBluetooth or other wireless technology. Both the external device and thefirst user-mounted device may periodically or continuously broadcasttheir presence and may periodically or continuously “listen” for otherdevice broadcasts.

In step 506, a device calibration mode is entered in which calibrationdata describing the first user-mounted device is received by the firstuser-mounted device. The calibration data is based at least in part onsensor data acquired and normalized by the external device. The acquiredsensor data is normalized to ensure that the calibration data providedto the first user-mounted device is accurate. The combination of datafrom various sensor data allows for extremely accurate calibration data.In some embodiments, the external device is a device in a fixed locationand may require less normalization or less frequent normalization,because the device does not typically move.

The calibration data is received in step 508. The calibration dataincludes at least one determined pose or body measurement 508A of thefirst user and a calculated alignment 508B of the first user-mounteddevice relative to the first user. In some embodiments, alignment 508Bof the first user-mounted device includes rotation of the firstuser-mounted device relative to the first user. The first user-mounteddevice is calibrated using the received calibration data in step 510.

In some embodiments, method 500 is performed as an automatic silentcalibration such that the operation of the first user-mounted device isnot adversely impacted by performance of method 500. For example,automatic silent calibration may occur during breaks in the movement ofthe first user or immediately after information is displayed to thefirst user that the first user will then need a moment to view andunderstand. In other embodiments, recalibration occurs when a specifiedtime period, for example 30 seconds or two minutes, is exceeded. Inother embodiments, recalibration occurs when a calibration threshold isexceeded. Each sensor included in the first user-mounted device may havean individual calibration threshold, and when the calibration thresholdis exceeded, method 500 or particular steps of method 500 are performedagain to ensure the first user-mounted device remains properlycalibrated.

FIG. 6 illustrates user-mounted device 200 worn by user 202 interactingwith a passive object 604. Passive object 604 is a minor, but asdiscussed above, passive object 604 can be any object that is notactively providing user-mounted device 202 with calibration data.Sensors in user-mounted device 202 detect input from passive object 604.In some embodiments, user-mounted device 202 transmits a signal 602 andreceives feedback 606 resulting from the interaction of the signal withpassive object 604. In other embodiments, the received input is acaptured reflection of user-mounted device 200 or user 202 or a capturedimage or video showing user-mounted device 200 or user 202. The inputreceived from the passive object is considered in calibratinguser-mounted device 200.

FIG. 7 illustrates user-mounted device 200 worn by user 202 interactingwith a second user-mounted device 700 worn by a second user 702. In FIG.7, both user-mounted device 200 and second user-mounted device 700 areHMDs. Second user-mounted device 700 has similar capabilities andfunctionality to user-mounted device 200. The sensors of seconduser-mounted device 700 acquire sensor data describing user 202 anduser-mounted device 200. The sensors of user-mounted device 200 acquiresensor data describing second user 702 and second user-mounted device700. Thus, FIG. 7 illustrates joint calibration where seconduser-mounted device 700 is the “external device” that providescalibration data to user-mounted device 200 and where user-mounteddevice 200 is the “external device” that provides calibration data tosecond user-mounted device 700. In some embodiments, calibration data istransmitted directly from second user-mounted device 700 to user-mounteddevice 200 and directly from user-mounted device 200 to seconduser-mounted device 700. In other embodiments, various intermediatedevices are involved in the transmission of calibration data.

FIG. 8 illustrates a method 800 for joint calibration of twouser-mounted devices, a first user-mounted device worn by a first userand a second user-mounted device worn by a second user. In step 802, thesecond user-mounted device worn by the second user is identified. Thesecond user-mounted device is capable of providing calibration data tothe first user-mounted device. In step 804, an identificationacknowledgement is received from the second user-mounted device. A jointdevice calibration mode is entered in step 806. In the joint calibrationmode, first calibration data describing the first user-mounted device isreceived by the first user-mounted device and second calibration datadescribing the second user-mounted device is transmitted by the firstuser-mounted device. The first calibration data is based at least inpart on first sensor data acquired and normalized by the seconduser-mounted device. The second calibration data is based at least inpart on second sensor data acquired and normalized by the firstuser-mounted device.

In step 808 the first calibration data is received. The firstcalibration data includes at least one determined pose or bodymeasurement 808A of the first user and a calculated alignment 808B ofthe first user-mounted device relative to the first user. The firstsensor data includes data from at least one of: an inertial measurementunit (IMU); a red, green, blue (RGB) camera; a depth sensor; assistedGPS; or a microphone. In step 810, the first user-mounted device iscalibrated using the first calibration data.

The second sensor data is acquired in step 812. The second sensor dataincludes data from at least one of: an IMU; an RGB camera; a depthsensor; assisted GPS; or a microphone. In step 814, the second sensordata is normalized. In step 816, based at least in part on thenormalized second sensor data, pose and body measurements of the seconduser are determined. In step 818, based at least in part on thenormalized second sensor data, an alignment of the second user-mounteddevice relative to the second user is calculated. The second calibrationdata is transmitted in step 820. The second calibration data includesthe at least one determined pose and body measurement of the second userand the calculated alignment of the second user-mounted device.

The present invention has been described in relation to particularembodiments, which are intended in all respects to be illustrativerather than restrictive. Alternative embodiments will become apparent tothose of ordinary skill in the art to which the present inventionpertains without departing from its scope.

From the foregoing, it will be seen that this invention is one welladapted to attain all the ends and objects set forth above, togetherwith other advantages which are obvious and inherent to the system andmethod. It will be understood that certain features and sub-combinationsare of utility and may be employed without reference to other featuresand sub-combinations. This is contemplated by and is within the scope ofthe claims.

Having thus described the invention, what is claimed is:
 1. One or morecomputer-readable media storing computer-executable instructions forperforming a method for calibrating a first user-mounted device worn bya first user, the method comprising: identifying an external devicecapable of providing calibration data to the first user-mounted device;receiving an identification acknowledgement from the external device;entering a device calibration mode in which calibration data describingthe first user-mounted device is received by the first user-mounteddevice, wherein the calibration data is based at least in part on sensordata acquired and normalized by the external device; receiving thecalibration data, wherein the calibration data includes at least onedetermined pose or body measurement of the first user and a calculatedalignment of the first user-mounted device relative to the first user;and calibrating the first user-mounted device using the receivedcalibration data.
 2. The media of claim 1, wherein the method isperformed as an automatic silent calibration such that the operation ofthe first user-mounted device is not adversely impacted by performanceof the method.
 3. The media of claim 1, wherein the method is repeatedwhen at least one of a calibration threshold or a specified time periodis exceeded.
 4. The media of claim 1, wherein the alignment of the firstuser-mounted device includes rotation of the first user-mounted devicerelative to the first user.
 5. The media of claim 1, wherein the sensordata includes data from at least one of: an inertial measurement unit(IMU); a red, green, blue (RGB) camera; a depth sensor; assisted GPS; ora microphone.
 6. The media of claim 1, wherein the first user-mounteddevice is a head-mounted device.
 7. The media of claim 1, wherein theexternal device is in a fixed location.
 8. The media of claim 8, furthercomprising receiving input from a passive object.
 9. The media of claim1, wherein the input is one of: a captured reflection of the firstuser-mounted device or first user or a captured image or video showingthe first user-mounted device or first user.
 10. The media of claim 1,wherein the external device is a second user-mounted device worn by asecond user.
 11. The media of claim 10, wherein the calibration data istransmitted from the second user-mounted device to the firstuser-mounted device.
 12. The media of claim 11, further comprising:acquiring sensor data describing the second user-mounted device;normalizing the sensor data describing the second user-mounted device;based at least in part on the normalized sensor data describing thesecond user-mounted device, (1) determining pose and body measurementsof the second user and (2) calculating an alignment of the seconduser-mounted device relative to the second user; and transmitting secondcalibration data to the second user-mounted device, the secondcalibration data including at least one determined pose and bodymeasurement of the second user and the calculated alignment of thesecond user-mounted device.
 13. One or more computer storage mediahaving a system embodied thereon including computer-executableinstructions that, when executed, perform a method for calibrating afirst user-mounted device, the system comprising: a session componentthat communicates with an external device to enter a device calibrationmode in which calibration data describing the first user-mounted deviceis received by the first user-mounted device, the calibration data basedat least in part on sensor data acquired by the external device; anintake component that receives the calibration data, the calibrationdata including at least one determined pose or body measurement of thefirst user and a calculated alignment of the first user-mounted devicerelative to the first user; and a calibration component that calibratesthe first user-mounted device using the received calibration data. 14.The media of claim 13, wherein the first user-mounted device is ahead-mounted device.
 15. The media of claim 13, further comprising apassive data component that receives input from a passive object, wherethe input is one of: a captured reflection of the first user-mounteddevice or first user or a captured image or video showing the firstuser-mounted device or first user.
 16. The media of claim 13, furthercomprising a joint calibration component that provides secondcalibration data to the external device, the second calibration databased on acquired sensor data that describes the external device. 17.The media of claim 16, wherein the external device is a seconduser-mounted device worn by a second user, and wherein the jointcalibration component provides the second calibration data by:normalizing the acquired sensor data that describes the seconduser-mounted device; based at least in part on the normalized sensordata describing the second user-mounted device, determining pose andbody measurements of the second user; calculating an alignment of thesecond user-mounted device relative to the second user; and transmittingthe second calibration data to the second user-mounted device, thesecond calibration data including at least one determined pose and bodymeasurement of the second user and the calculated alignment of thesecond user-mounted device.
 18. One or more computer-readable mediastoring computer-executable instructions for performing a method forcalibrating a first user-mounted device worn by a first user, the methodcomprising: identifying a second user-mounted device worn by a seconduser, the second user-mounted device capable of providing calibrationdata to the first user-mounted device; receiving an identificationacknowledgement from the second user-mounted device; entering a jointdevice calibration mode in which first calibration data describing thefirst user-mounted device is received by the first user-mounted deviceand second calibration data describing the second user-mounted device istransmitted by the first user-mounted device, wherein the firstcalibration data is based at least in part on first sensor data acquiredand normalized by the second user-mounted device, and wherein the secondcalibration data is based at least in part on second sensor dataacquired and normalized by the first user-mounted device; receiving thefirst calibration data, wherein the first calibration data includes atleast one determined pose or body measurement of the first user and acalculated alignment of the first user-mounted device relative to thefirst user, and wherein the first sensor data includes data from atleast one of: an inertial measurement unit (IMU); a red, green, blue(RGB) camera; a depth sensor; assisted GPS; or a microphone; calibratingthe first user-mounted device using the first calibration data;acquiring the second sensor data, the second sensor data including datafrom at least one of: an IMU; an RGB camera; a depth sensor; assistedGPS; or a microphone; normalizing the second sensor data; based at leastin part on the normalized second sensor data, (1) determining pose andbody measurements of the second user and (2) calculating an alignment ofthe second user-mounted device relative to the second user; andtransmitting the second calibration data, the second calibration dataincluding the at least one determined pose and body measurement of thesecond user and the calculated alignment of the second user-mounteddevice.
 19. The media of claim 18, wherein the first and seconduser-mounted devices are head-mounted devices.
 20. The media of claim18, wherein the method is performed as an automatic silent calibrationsuch that the operation of the first and second user-mounted devices isnot adversely impacted by performance of the method.